﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EBAYVN.DAO;
using EBAYVN.DOMAIN;
using EBAYVN.Util;

namespace EBAYVN.CUSTOMERS.Pages
{
    public partial class MyProfile : System.Web.UI.Page
    {
       public KhachHangDao khDAO = new KhachHangDao();
        protected void Page_Load(object sender, EventArgs e)
        {
            RepairUI();
            if (!IsPostBack)
            {
                
            }
        }
        private void RepairUI()
        {
            if (Session[Sessionkey.KHACHHANG_LOGIN] != null)
            {
                KHACHHANG kh = (KHACHHANG)Session[Sessionkey.KHACHHANG_LOGIN];
                BindProfile(kh);
                BindDaTaForGird();
            }
            else
            {
                Session[Sessionkey.KHACHHANG_LOGIN_FALSE] = "Bạn phải đăng nhập để vào trang này";
                Response.Redirect("Login.aspx", true);
            }
        }
        #region Windows Show
        private void ShowError(string message, string controlId)
        {
            ((EBAYVN)Page.Master).ShowError(message, controlId);
        }

        private void ShowError(string message)
        {
            ((EBAYVN)Page.Master).ShowError(message);
        }

        private void ShowInfor(string message)
        {
            ((EBAYVN)Page.Master).ShowInfor(message);
        }

        private void CloseWaitingDialog()
        {
            ((EBAYVN)Page.Master).CloseWaitingDialog();
        }

        private void SetReadonly(string id, bool isReadonly)
        {
            ((EBAYVN)Page.Master).SetReadonly(id, isReadonly);
        }

        private void SetControlValue(string id, string value)
        {
            ((EBAYVN)Page.Master).SetControlValue(id, value);
        }

        private void HideDialog(string divId)
        {
            ((EBAYVN)Page.Master).HideDialog(divId);
        }

        private void UnblockDialog(string divId)
        {
            ((EBAYVN)Page.Master).UnblockDialog(divId);
        }
        #endregion

        private bool CheckPass()
        {
            if (!CheckUtil.CheckPass(txtMatKhau.Text.Trim(), 6, 10))
            {
                ShowError("Mật khẩu không hợp lệ.\n Mật khẩu không được chứa kí tự khoảng trắng.\n Mật khẩu có độ dài từ 6-> 10 kí tự", txtMatKhau.ClientID);
                
                return false;
            }
            if (!CheckUtil.CheckPass(txtMatKhauRe.Text.Trim(), 6, 10))
            {
                ShowError("Mật khẩu không hợp lệ.\n Mật khẩu không được chứa kí tự khoảng trắng.\n Mật khẩu có độ dài từ 6-> 10 kí tự", txtMatKhauRe.ClientID);
               
                return false;
            }
            if (!txtMatKhauRe.Text.Equals(txtMatKhau.Text.Trim()))
            {
                ShowError("Mật khẩu gõ lại không đúng với mật khẩu ban đầu", txtMatKhauRe.ClientID);
                return false;
            }
            return true;
        }
        private void BindDaTaForGird()
        {
            KHACHHANG kh=(KHACHHANG)Session[Sessionkey.KHACHHANG_LOGIN];
            
        }
        private void BindProfile(KHACHHANG kh)
        {
            txtTenDangNhap.Text =kh.USERNAME;
            txtTenCongTy.Text = kh.TENCTY;
            txtHoTen.Text = kh.HOTEN;
            txtEmail.Text = kh.EMAIL;
            txtWebSite.Text = kh.WEBSITE;
            txtDiaChi.Text = kh.DIACHI;
            txtDienThoai.Text = kh.DIENTHOAI;
            upInfor.Update();
        }
        private bool IsValid()
        {
            if (!CheckUtil.CheckUserName(txtTenDangNhap.Text.Trim()))
            {
                ShowError("Tên đăng nhập không hợp lệ",txtTenDangNhap.ClientID);
                return false;
            }
            
            //var kh = khDAO.GetListByUser(txtTenDangNhap.Text.Trim());
            //{
            //    if(kh!=null)
            //    {
            //        ShowError("Tên đăng nhập đã tồn tại", txtTenDangNhap.ClientID);
            //        return false;
            //    }
            //}
            if (String.IsNullOrEmpty(txtHoTen.Text.Trim()))
            {
                ShowError("Họ tên không được để trống", txtHoTen.ClientID);
                return false;
            }
            if (String.IsNullOrEmpty(txtDienThoai.Text.Trim()))
            {
                ShowError("Điện thoại không được để trống", txtDienThoai.ClientID);
                return false;
            }
            if (String.IsNullOrEmpty(txtDiaChi.Text.Trim()))
            {
                ShowError("Địa chỉ không được để trống", txtDiaChi.ClientID);
                return false;
            }
            
            return true;
        }
        protected void btnDangKi_Click(object sender, EventArgs e)
        {
            if (!IsValid())
            {
                ShowError("Thông tin không hợp lệ");
               
                CloseWaitingDialog();
                return;
            }

            var kh = (KHACHHANG)Session[Sessionkey.KHACHHANG_LOGIN];
            kh.USERNAME =txtTenDangNhap.Text.Trim();
            kh.HOTEN = txtHoTen.Text.Trim();
            kh.TENCTY = txtTenCongTy.Text.Trim();
            kh.DIACHI = txtDiaChi.Text.Trim();
            kh.DIENTHOAI = txtDienThoai.Text.Trim();
            kh.WEBSITE = txtWebSite.Text.Trim();
            Message msg;
            msg = khDAO.Update(kh);
            if (msg.MsgType == MessageType.Error)
            {
                ShowError("Cập nhật khách hàng không thành công");
            }
            else
            {
                ShowInfor("Cập nhật khách hàng thành công.");
            }
            CloseWaitingDialog();
        }
        private void ClearForm()
        {
            txtTenDangNhap.Text = "";
            txtHoTen.Text = "";
            txtEmail.Text = "";
            txtDiaChi.Text = "";
            txtDienThoai.Text = "";
            txtWebSite.Text = "";
            txtTenCongTy.Text = "";
            upInfor.Update();
        }
        private void ClearFormChangePass()
        {
            txtMatKhau.Text = "";
            txtMatKhauRe.Text = "";
            upInfor.Update();
        }
        protected void btnCancel_Click(object sender, EventArgs e)
        {
            ClearForm();
            CloseWaitingDialog();
        }

        protected void gvList_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            
        }

        protected void btnChagePass_Click(object sender, EventArgs e)
        {
            if (CheckPass())
            {


                var kh = (KHACHHANG)Session[Sessionkey.KHACHHANG_LOGIN];
                kh.PASSWORD = CommonUtil.Encrypt(txtMatKhau.Text.Trim(),true);
                Message msg;
                msg = khDAO.ChangePass(kh);
                if (msg.MsgType == MessageType.Error)
                {
                    ShowError("Cập nhật mật khẩu khách hàng không thành công");
                }
                else
                {
                    ShowInfor("Cập nhật mật khẩu thành công");
                }
            }
            CloseWaitingDialog();
        }

        protected void btnHuy_Click(object sender, EventArgs e)
        {
            ClearFormChangePass();
            CloseWaitingDialog();
        }

        protected void btnDelete_Click(object sender, EventArgs e)
        {

            
        }

        protected void gvThongTinDaDuyet_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            
        }
    }
}
